package tothreedesignmodel.bridging;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import tothreedesignmodel.simplefactory.Ball;
import tothreedesignmodel.simplefactory.BasketBall;
import tothreedesignmodel.simplefactory.Soccer;

/**
 * 桥接模式 *
 * <p>
 * 就是用于抽象化和实现化的解耦。又是解耦，貌似设计模式就是教我们如何优雅的解耦。
 * 提高了代码的拓展性，并且可以实现代码的动态切换。
 *
 * @Author lzhphantom
 * @Description
 * @Date 创建于 16:52 2020/7/16
 * @Modified
 */
public class BallCut extends BallCutAbstract{
    protected BallCut(Ball ball){
        super(ball);
    }

    @Override
    public void create() {
        System.out.println(ball.create());
    }

    public static void main(String[] args) {
        BallCut ballCut = new BallCut(new Soccer());
        ballCut.create();
        BallCut ballCut1 = new BallCut(new BasketBall());
        ballCut1.create();
    }
}
